/*
 * 标准交易
 * <p>名称（中文）：新交易下单接口<br />名称（英文，xx.war）：opr-hessian.war<br />简介：合单支付下单与标准收款内部下单接口合并<br />wiki文档地址：http://wiki.yeepay.com/pages/viewpage.action?pageId=122095805(4.新api分组相关接口规划)<br />预计项目上线时间：2020年6月9日<br />归属/拟申请的sp编码（可选）：opr<br />期望api分组编码、名称（可选）：trade(标准交易)<br />涉及的接口：申请下单、订单查询、申请退款、退款查询</p>
 *
 * OpenAPI spec version: 1.0
 * 
 *
 * NOTE: This class is auto generated by the swagger code generator program.
 * https://github.com/swagger-api/swagger-codegen.git
 * Do not edit the class manually.
 */


package com.hyt.it.ogt.kq.service.bm.model.dto.pay;

import com.fasterxml.jackson.annotation.JsonProperty;
import org.apache.commons.lang3.ObjectUtils;

import java.io.Serializable;

/**
 * RefundSupplyYopSupplyCardInfoRefundResponseDTOResult
 */
public class RefundSupplyYopSupplyCardInfoRefundResponseDTOResult implements Serializable{

  private static final long serialVersionUID = 1L;

  /**
   * 返回码
   */
  @JsonProperty("code")
  private String code = null;

  /**
   * 返回信息
   */
  @JsonProperty("message")
  private String message = null;

  /**
   * 发起方商编
   */
  @JsonProperty("parentMerchantNo")
  private String parentMerchantNo = null;

  /**
   * 商户编号
   */
  @JsonProperty("merchantNo")
  private String merchantNo = null;

  /**
   * 商户收款请求号
   */
  @JsonProperty("orderId")
  private String orderId = null;

  /**
   * yop请求商编
   */
  @JsonProperty("yopMerchantNo")
  private String yopMerchantNo = null;

  /**
   * 商户退款请求号
   */
  @JsonProperty("refundRequestId")
  private String refundRequestId = null;

  /**
   * 商户退款请求对应在易宝的退款单号
   */
  @JsonProperty("uniqueRefundNo")
  private String uniqueRefundNo = null;

  /**
   * 退款状态
   */
  @JsonProperty("status")
  private String status = null;

  /**
   * 退款金额
   */
  @JsonProperty("refundAmount")
  private String refundAmount = null;

  public RefundSupplyYopSupplyCardInfoRefundResponseDTOResult code(String code) {
    this.code = code;
    return this;
  }

   /**
   * 返回码
   * @return code
  **/

  public String getCode() {
    return code;
  }

  public void setCode(String code) {
    this.code = code;
  }

  public RefundSupplyYopSupplyCardInfoRefundResponseDTOResult message(String message) {
    this.message = message;
    return this;
  }

   /**
   * 返回信息
   * @return message
  **/

  public String getMessage() {
    return message;
  }

  public void setMessage(String message) {
    this.message = message;
  }

  public RefundSupplyYopSupplyCardInfoRefundResponseDTOResult parentMerchantNo(String parentMerchantNo) {
    this.parentMerchantNo = parentMerchantNo;
    return this;
  }

   /**
   * 发起方商编
   * @return parentMerchantNo
  **/

  public String getParentMerchantNo() {
    return parentMerchantNo;
  }

  public void setParentMerchantNo(String parentMerchantNo) {
    this.parentMerchantNo = parentMerchantNo;
  }

  public RefundSupplyYopSupplyCardInfoRefundResponseDTOResult merchantNo(String merchantNo) {
    this.merchantNo = merchantNo;
    return this;
  }

   /**
   * 商户编号
   * @return merchantNo
  **/

  public String getMerchantNo() {
    return merchantNo;
  }

  public void setMerchantNo(String merchantNo) {
    this.merchantNo = merchantNo;
  }

  public RefundSupplyYopSupplyCardInfoRefundResponseDTOResult orderId(String orderId) {
    this.orderId = orderId;
    return this;
  }

   /**
   * 商户收款请求号
   * @return orderId
  **/

  public String getOrderId() {
    return orderId;
  }

  public void setOrderId(String orderId) {
    this.orderId = orderId;
  }

  public RefundSupplyYopSupplyCardInfoRefundResponseDTOResult yopMerchantNo(String yopMerchantNo) {
    this.yopMerchantNo = yopMerchantNo;
    return this;
  }

   /**
   * yop请求商编
   * @return yopMerchantNo
  **/

  public String getYopMerchantNo() {
    return yopMerchantNo;
  }

  public void setYopMerchantNo(String yopMerchantNo) {
    this.yopMerchantNo = yopMerchantNo;
  }

  public RefundSupplyYopSupplyCardInfoRefundResponseDTOResult refundRequestId(String refundRequestId) {
    this.refundRequestId = refundRequestId;
    return this;
  }

   /**
   * 商户退款请求号
   * @return refundRequestId
  **/

  public String getRefundRequestId() {
    return refundRequestId;
  }

  public void setRefundRequestId(String refundRequestId) {
    this.refundRequestId = refundRequestId;
  }

  public RefundSupplyYopSupplyCardInfoRefundResponseDTOResult uniqueRefundNo(String uniqueRefundNo) {
    this.uniqueRefundNo = uniqueRefundNo;
    return this;
  }

   /**
   * 商户退款请求对应在易宝的退款单号
   * @return uniqueRefundNo
  **/

  public String getUniqueRefundNo() {
    return uniqueRefundNo;
  }

  public void setUniqueRefundNo(String uniqueRefundNo) {
    this.uniqueRefundNo = uniqueRefundNo;
  }

  public RefundSupplyYopSupplyCardInfoRefundResponseDTOResult status(String status) {
    this.status = status;
    return this;
  }

   /**
   * 退款状态
   * @return status
  **/

  public String getStatus() {
    return status;
  }

  public void setStatus(String status) {
    this.status = status;
  }

  public RefundSupplyYopSupplyCardInfoRefundResponseDTOResult refundAmount(String refundAmount) {
    this.refundAmount = refundAmount;
    return this;
  }

   /**
   * 退款金额
   * @return refundAmount
  **/

  public String getRefundAmount() {
    return refundAmount;
  }

  public void setRefundAmount(String refundAmount) {
    this.refundAmount = refundAmount;
  }


  @Override
  public boolean equals(Object o) {
  if (this == o) {
    return true;
  }
  if (o == null || getClass() != o.getClass()) {
    return false;
  }
    RefundSupplyYopSupplyCardInfoRefundResponseDTOResult refundSupplyYopSupplyCardInfoRefundResponseDTOResult = (RefundSupplyYopSupplyCardInfoRefundResponseDTOResult) o;
    return ObjectUtils.equals(this.code, refundSupplyYopSupplyCardInfoRefundResponseDTOResult.code) &&
    ObjectUtils.equals(this.message, refundSupplyYopSupplyCardInfoRefundResponseDTOResult.message) &&
    ObjectUtils.equals(this.parentMerchantNo, refundSupplyYopSupplyCardInfoRefundResponseDTOResult.parentMerchantNo) &&
    ObjectUtils.equals(this.merchantNo, refundSupplyYopSupplyCardInfoRefundResponseDTOResult.merchantNo) &&
    ObjectUtils.equals(this.orderId, refundSupplyYopSupplyCardInfoRefundResponseDTOResult.orderId) &&
    ObjectUtils.equals(this.yopMerchantNo, refundSupplyYopSupplyCardInfoRefundResponseDTOResult.yopMerchantNo) &&
    ObjectUtils.equals(this.refundRequestId, refundSupplyYopSupplyCardInfoRefundResponseDTOResult.refundRequestId) &&
    ObjectUtils.equals(this.uniqueRefundNo, refundSupplyYopSupplyCardInfoRefundResponseDTOResult.uniqueRefundNo) &&
    ObjectUtils.equals(this.status, refundSupplyYopSupplyCardInfoRefundResponseDTOResult.status) &&
    ObjectUtils.equals(this.refundAmount, refundSupplyYopSupplyCardInfoRefundResponseDTOResult.refundAmount);
  }

  @Override
  public int hashCode() {
    return ObjectUtils.hashCodeMulti(code, message, parentMerchantNo, merchantNo, orderId, yopMerchantNo, refundRequestId, uniqueRefundNo, status, refundAmount);
  }


  @Override
  public String toString() {
    StringBuilder sb = new StringBuilder();
    sb.append("class RefundSupplyYopSupplyCardInfoRefundResponseDTOResult {\n");

    sb.append("    code: ").append(toIndentedString(code)).append("\n");
    sb.append("    message: ").append(toIndentedString(message)).append("\n");
    sb.append("    parentMerchantNo: ").append(toIndentedString(parentMerchantNo)).append("\n");
    sb.append("    merchantNo: ").append(toIndentedString(merchantNo)).append("\n");
    sb.append("    orderId: ").append(toIndentedString(orderId)).append("\n");
    sb.append("    yopMerchantNo: ").append(toIndentedString(yopMerchantNo)).append("\n");
    sb.append("    refundRequestId: ").append(toIndentedString(refundRequestId)).append("\n");
    sb.append("    uniqueRefundNo: ").append(toIndentedString(uniqueRefundNo)).append("\n");
    sb.append("    status: ").append(toIndentedString(status)).append("\n");
    sb.append("    refundAmount: ").append(toIndentedString(refundAmount)).append("\n");
    sb.append("}");
    return sb.toString();
  }

  /**
   * Convert the given object to string with each line indented by 4 spaces
   * (except the first line).
   */
  private String toIndentedString(Object o) {
    if (o == null) {
      return "null";
    }
    return o.toString().replace("\n", "\n    ");
  }

}

